Staking Pool Manager Flow
Staking Pool Manager Actions
-
Create Staking Pool
- Call
createStakingPool
on StakingProducts to deploy a new pool - Pool is initialized with:
- Initial products and weights
- Pool fee parameters
- Manager assignment
- Pool metadata
- Call
-
Update Pool Products
- Call
setProducts
on StakingProducts to:- Configure product weights
- Set target prices
- Update pool metadata
- Call
-
Maintain Pool Allocations
- Call
recalculateEffectiveWeights
on StakingProducts to:- Rebalance product allocations based on capacity
- Adjust for global and product-specific constraints
- Update after significant stake or price changes
- Call
Staking Pool Creation Flow
(1a) Pool Manager
calls createStakingPool()
on StakingProducts.
(1b) StakingProducts
calls create()
on StakingPoolFactory.
(1c) StakingPoolFactory
deploys new StakingPool.
(1d) StakingProducts
assigns manager via TokenController.
(1e) StakingProducts
sets initial products and metadata.
Update Staking Pool Products
(2a) Pool Manager
calls setProducts()
on StakingProducts.
(2b) StakingProducts
updates weights and prices in StakingPool.
Recalculate Effective Weights
(3a) Pool Manager
calls recalculateEffectiveWeights()
on StakingProducts.
(3b) StakingProducts
gets capacity reduction ratios from CoverProducts.
(3c) StakingProducts
gets global capacity ratio from Cover.
(3d) StakingProducts
updates effective weights based on:
- Active stake in pool
- Global capacity constraints
- Product-specific capacity reductions
- Current allocations vs capacity